#include "Button.hpp"
#ifdef AT32
bool Button::ReadButton(uint8_t buttonx)
{
    switch (buttonx)
    {
    case 1:
        return gpio_input_data_bit_read(GPIOC, GPIO_PINS_10);
        break;
    case 3:
        return gpio_input_data_bit_read(GPIOA, GPIO_PINS_15);
        break;
    case 5:
        return gpio_input_data_bit_read(GPIOD, GPIO_PINS_2);
        break;
    case 7:
        return gpio_input_data_bit_read(GPIOC, GPIO_PINS_11);
        break;
    case 0:
        return gpio_input_data_bit_read(GPIOC, GPIO_PINS_12);
        break;
    default:
        return false;
        break;
    }
}
#endif

#ifdef CH32
bool Button::ReadButton(uint8_t buttonx)
{
    switch (buttonx)
    {
    case 1:
        return GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_10);
        break;
    case 3:
        return GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_15);
        break;
    case 5:
        return GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_2);
        break;
    case 7:
        return GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_11);
        break;
    case 0:
        return GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_12);
        break;
    default:
        return false;
        break;
    }
}
#endif

#ifdef STM32
bool Button::ReadButton(uint8_t buttonx)
{
    switch (buttonx)
    {
    case 1:
        return HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_10);
        break;
    case 3:
        return HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_15);
        break;
    case 5:
        return HAL_GPIO_ReadPin(GPIOD, GPIO_PIN_2);
        break;
    case 7:
        return HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_11);
        break;
    case 0:
        return HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_12);
        break;
    default:
        return false;
        break;
    }
}
#endif